/* UTF8 Encoding */
/*-----------------------------------------------------------------------
|                            FILE DESCRIPTION                           |
-----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
  - File name     : dcdc_config.h
  - Author        : liuzhihua (liuzhihuawy@163.com)
  - Update date   : 2024.06.04
  - Brief         : dcdc user config 
  - Version       : v0.1
-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------
|                               UPDATE NOTE                             |
-----------------------------------------------------------------------*/
/**
  * Update note:
  * ------------   ---------------   ----------------------------------
  *     Date            Author                      Note
  * ------------   ---------------   ----------------------------------
  *  2024.06.04       liuzhihua                  Create file          
***/

#ifndef DCDC_CONFIG_H
#define DCDC_CONFIG_H

/*-----------------------------------------------------------------------
|                               INCLUDES                                |
-----------------------------------------------------------------------*/
#include <stdint.h>



/*-----------------------------------------------------------------------
|                                DEFINES                                |
-----------------------------------------------------------------------*/
/*-----------------------初始参数-----------------------*/
#define     DCDC_SAFE_GUARD_FLAG_INIT     (1)
// 等待超时时间ms
#define     DCDC_INIT_TIMEOUT_WAIT        (100000U)
// 高侧死区时间ns
#define     DCDC_INIT_DEAD_HV             (400U)
// 低侧死区时间ns
#define     DCDC_INIT_DEAD_LV             (400U)
// 高侧占空比%
#define     DCDC_INIT_DUTY_HV             (50U)
// 低侧占空比%
#define     DCDC_INIT_DUTY_LV             (50U)
// 软起动时间ms
#define     DCDC_INIT_SOFT_START_TIME     (1000U)
// 高侧软起动初始频率Hz
#define     DCDC_INIT_SOFT_START_INIT_FREQ_HV      (200000U)
// 高侧软起动目标频率Hz
#define     DCDC_INIT_SOFT_START_TARGET_FREQ_HV    (100000U)
// 低侧软起动初始频率Hz
#define     DCDC_INIT_SOFT_START_INIT_FREQ_LV      (180000U)
// 低侧软起动目标频率Hz
#define     DCDC_INIT_SOFT_START_TARGET_FREQ_LV    (100000U)
// 最大安全温度1(摄氏度)
#define     DCDC_MAX_SAFE_TEMP1       (100)
// 最大安全温度2(摄氏度)
#define     DCDC_MAX_SAFE_TEMP2       (100)
// 最大安全温度3(摄氏度)
#define     DCDC_MAX_SAFE_TEMP3       (100)
// 最大安全启动低侧电压(V)
#define     DCDC_MAX_SAFE_LV          (70)
// 最大安全启动低侧电流(A)
#define     DCDC_MAX_SAFE_LI          (0.2f)
// 最大安全启动高侧电压(V)
#define     DCDC_MAX_SAFE_HV          (420)
// 最大安全启动高侧电流(A)
#define     DCDC_MAX_SAFE_HI          (0.2f)
/*-----------------------闭环参数-----------------------*/
// 高侧最大频率Hz
#define     DCDC_HV_MAX_FREQ            (200000U)
// 高侧最小频率Hz
#define     DCDC_HV_MIN_FREQ            (70000U)
// 高侧最大电压V
#define     DCDC_HV_MAX_VOLTAGE         (420.0f)
// 高侧最小电压V
#define     DCDC_HV_MIN_VOLTAGE         (350.0f)
// 高侧最大电流A
#define     DCDC_HV_MAX_CURRENT         (3.0f)
// 高侧最小电流A
#define     DCDC_HV_MIN_CURRENT         (0.5f)

// 低侧最大频率Hz
#define     DCDC_LV_MAX_FREQ            (150000U)
// 低侧最小频率Hz
#define     DCDC_LV_MIN_FREQ            (60000U)
// 低侧最大电压V
#define     DCDC_LV_MAX_VOLTAGE         (70)
// 低侧最小电压V
#define     DCDC_LV_MIN_VOLTAGE         (25)
// 低侧最大电流A
#define     DCDC_LV_MAX_CURRENT         (60)
// 低侧最小电流A
#define     DCDC_LV_MIN_CURRENT         (4)


// 升压模式电压闭环初始PID参数Kp
#define     DCDC_BOOST_V_PID_KP_INIT    (1.0f)
// 升压模式电压闭环初始PID参数Ki
#define     DCDC_BOOST_V_PID_KI_INIT    (0.0f)
// 升压模式电压闭环初始PID参数Kd
#define     DCDC_BOOST_V_PID_KD_INIT    (0.0f)
// 升压模式电流闭环初始PID参数Kp
#define     DCDC_BOOST_I_PID_KP_INIT    (0.0f)
// 升压模式电流闭环初始PID参数Ki
#define     DCDC_BOOST_I_PID_KI_INIT    (0.0f)
// 升压模式电流闭环初始PID参数Kd
#define     DCDC_BOOST_I_PID_KD_INIT    (0.0f)

// 降压模式电压闭环初始PID参数Kp
#define     DCDC_BUCK_V_PID_KP_INIT     (1.0f)
// 降压模式电压闭环初始PID参数Ki
#define     DCDC_BUCK_V_PID_KI_INIT     (0.0f)
// 降压模式电压闭环初始PID参数Kd
#define     DCDC_BUCK_V_PID_KD_INIT     (0.0f)
// 降压模式电流闭环初始PID参数Kp
#define     DCDC_BUCK_I_PID_KP_INIT     (0.0f)
// 降压模式电流闭环初始PID参数Ki
#define     DCDC_BUCK_I_PID_KI_INIT     (0.0f)
// 降压模式电流闭环初始PID参数Kd
#define     DCDC_BUCK_I_PID_KD_INIT     (0.0f)

/*-----------------------风扇-----------------------*/
// 风扇0 ID
#define     DCDC_FAN_ID0          0
// 风扇1 ID
#define     DCDC_FAN_ID1          1
// 风扇初始为自动模式
#define     DCDC_AUTO_FAN_INIT    1
// 风扇自动启动温度
#define     DCDC_FAN_AUTO_START_TEMP  50
// 风扇自动停止温度
#define     DCDC_FAN_AUTO_STOP_TEMP   30

/*-----------------------------------------------------------------------
|                                  API                                  |
-----------------------------------------------------------------------*/

#ifdef  __cplusplus
    extern "C" {
#endif


#ifdef __cplusplus
	}
#endif
#endif
